home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
dev
/
c
/
vbccm68ksrc.lha
/
vbcc
/
vlink
/
version.c
< prev
next >
Wrap
C/C++ Source or Header
|
1999-03-07
|
5KB
|
110 lines
/* $VER: vlink version.c V0.6b (16.01.99)
*
* This file is part of vlink, a portable linker for multiple
* object formats.
* Copyright (c) 1997-99 Frank Wille
*
* vlink is freeware and part of the portable and retargetable ANSI C
* compiler vbcc, copyright (c) 1995-99 by Volker Barthelmann.
* vlink may be freely redistributed as long as no modifications are
* made and nothing is charged for it. Non-commercial usage is allowed
* without any restrictions.
* EVERY PRODUCT OR PROGRAM DERIVED DIRECTLY FROM MY SOURCE MAY NOT BE
* SOLD COMMERCIALLY WITHOUT PERMISSION FROM THE AUTHOR.
*
*
* v0.6b (16.01.99) phx
* Changed copyright for 1999.
* v0.5a (28.06.98) phx
* text "-w suppress warnings" was missing.
* v0.4 (06.06.98) phx
* -sc forces merging of all code sections in an executable.
* -sd forces merging of all data and bss sections in an executable.
* -multibase prevents auto-merging of sections, which are accessed
* base-relative.
* v0.3a (18.04.98) phx
* -baseoff was missing in help text.
* Updated some other help texts.
* v0.3 (16.04.98) phx
* -R directs vlink to generate short relocs, if the target format
* allows this. It is for example supported by ELF and AmigaDos.
* Commented some options out, which are still not supported.
* -F for reading files, which contain a list of input files
* v0.1 (27.02.98) phx
* First version that seems to link AmigaOS ADOS and EHF
* objects and libraries. Many common features, like linking
* sections together which have relative references, are
* still missing. Also, PowerPC-ELF32 support is about to come.
* v0.0 (04.08.97) phx
* File created. Project started on a beautiful summer-day
* at the North Sea beach of Cuxhaven. :)
*/
#define VERSION_C
#include "vlink.h"
void show_version(void)
{
printf(PNAME " V%d.%d%c (c)1997-99 by Frank Wille\n"
"build date: " __DATE__ ", " __TIME__ "\n\n"
,VERSION,REVISION,PLEVEL?('a'+PLEVEL-1):' ');
}
void show_usage(void)
{
show_version();
printf("Usage: " PNAME " [-dhrstvwxMRSX] [-B linkmode] [-b targetname] "
"[-baseoff offset] "
#if 0 /* not implemented */
"[-D symbol[=value]] [-e entrypoint] "
#endif
"[-F filename] [-L library-search-path] [-l library-specifier] "
"[-multibase] [-nostdlib] [-o filename] [-sc] [-sd] "
#if 0 /* not implemented */
"[-T seg addr] [-u symbol] "
#endif
"[-V version] [-y symbol] "
"input-files...\n\nOptions:\n"
"<input-files> object files and libraries to link\n"
"-F<file> read a list of input files from <file>\n"
"-o<output> output file name\n"
"-b<target> output file format\n"
"-l<libspec> link with specified library (static or dynamic)\n"
"-L<libpath> add search path for libraries\n"
#if 0 /* not implemented */
"-e<entrypoint> address of program's entry point\n"
#endif
"-y<symbol> trace symbol accesses by the linker\n"
#if 0 /* not implemented */
"-D<symbol>[=exp] define a symbol\n"
"-u<symbol> mark a symbol as undefined\n"
"-T<name> <addr> define base address of a section\n"
#endif
"-B<mode> link mode: static, dynamic, shareable, symbolic\n"
"-dn same as: -Bstatic\n"
"-dy same as: -Bdynamic\n"
"-V<version> minimum version of shared object\n"
"-baseoff<offset> offset for base relative relocations\n"
"-nostdlib don't use default search path\n"
"-multibase don't auto-merge base-relative accessed sections\n"
"-sc merge all code sections\n"
"-sd merge all data and bss sections\n"
"-t trace file accesses by the linker\n"
"-M print segment mappings and symbol values\n"
"-r generate relocatable object\n"
"-R use short form for relocations\n"
"-s strip all symbols\n"
"-S strip debugging symbols only\n"
"-x discard all local symbols\n"
"-X discard temporary local symbols\n"
"-w suppress warnings\n"
"-v print version and implemented targets\n"
"-h shows this help text\n"
);
}